Mikroformat für Reviews (hReview)
Das Mikroformat hReview ist im Gegensatz zu hCard und hCalendar noch nicht im Stadium einer offiziellen Spezifikation, sondern noch im Stadium einer Draft, also eines Vorschlags. Einer der Gründe dafür ist möglicherweise, dass es nicht wie die beiden vorgenannten Formate einen anderen, bereits existierenden Standard umsetzt, sondern eine völlige Neuentwicklung ist. Es ist jedoch eines der Mikroformate, die besonders wichtig sind. Denn das hReview-Format ist für alle Arten von Besprechungen, Reviews, Kritiken und Bewertungen gedacht. Es soll Produkttests abdecken, Film- und Buchrezensionen, Restaurant-Tests usw. Unzählige Websites und Blog-Einträge haben solche „Reviews“ zum Inhalt. Durch konsequente Anwendung des hReview-Formats würden daraus strukturierte, feldorientierte Daten, die Suchmaschinen ein enormes Potential an semantischer Information liefern.
An folgendem einfachen Beispiel soll das hReview-Format vorgestellt werden:
<div class="hreview"> <span class="type" style="display: none">product</span> <div class="item"> <a class="url fn summary" href="http://www.amazon.de/exec/obidos/ASIN/3827323703"> Stefan Münz: Professionelle Websites </a></div> <div class="description"><p> Stefan Münz ist als Autor der HTML-Referenz SELFHTML bekannt geworden. Das vorliegende Buch ist keine Neuauflage dieser Programmier-Sammlung, sondern versteht sich als Bestandsaufnahme des World Wide Webs. Von dort aus beleuchtet Münz die gängigen Programmiersprachen und -techniken, aber auch Designfragen und rechtliche Implikationen. (<abbr class="rating" title="5">*****</abbr>) </p> </div> <p class="reviewer vcard">Besprechung von <a class="url fn" href="http://www.mediencity.de/">MedienCity</a>, <abbr class="dtreviewed" title="200508">August 2005</abbr> </p> </div>
Ohne weitere CSS-Formatierung sieht das im Browser reichlich unspektakulär aus:
Der gesamte Inhalt der Beispielbesprechung ist in ein div-Element mit dem Attribut class="hreview"
eingeschlossen. Dies ist für auslesende Software das Erkennungs-Attribut für hReview-Mikroformate.
Wie auch bei den Formaten hCard und hCalendar ist die Elementwahl beim hReview-Format abgesehen von einigen Ausnahmen frei. Da es sich bei der Besprechung um ein in sich geschlossenes Konstrukt handelt, das aus diversen, teilweise verschachtelten Einzelelementen besteht, bietet es sich jedoch an, das gesamte Konstrukt in einen div
-Bereich einzuschließen.
Im Beispiel folgt als nächstes ein inhaltsleeres span
-Element, das zusätzlich mit Hilfe der CSS-Angabe display: none
für die Anzeige im Browser unsichtbar gemacht wird. Dieses Element, das übrigens optional ist, legt die Art des Reviews fest, also eine durchaus wichtige Information, die aber in dieser Form nicht unbedingt angezeigt werden soll. Mit class="type"
wird der auslesenden Software mitgeteilt, dass hier die Art des Reiviews definiert wird. Die Art selbst steht im title
-Attribut. Möglich sind hier die Wertzuweisungen product
(für Produktbesprechungen), business
(für Bewertungen von Unternehmen oder Geschäften) event
(für Konzert-, Theater-, Kino- und ähnliche Kritiken), person
(für Personenbewertungen), place
(für Bewertungen von Restaurants und vergleichbaren Örtlichkeiten), website
(für Bewertungen von Webangeboten) und url
(für Bewertungen einzelner Webseiten).
Im Gegensatz zum type
-Feld ist das item
-Feld eine Pflichtangabe. Seine Aufgabe ist es, den besprochenen „Gegenstand“ genauer zu spezifizieren. Wie diese genauere Spezifizierung aussieht, kann je nach dem, was gereviewt wird, sehr unterschiedlich ausfallen. In userem Beispiel, wo ein Buch besprochen wird, bietet sich ein Direktlink zur Buchseite bei einem Buchversand wie Amazon an. Der Link wird im Beispiel mit class="url fn summary"
ausgezeichnet. Der Klassenname fn
(„full name“) gehört dabei zu denen, die im Zusammenhang mit dem hReview-Format erkannt werden, ebenso wie der Klassenname summary
. Mit fn
signalisieren Sie, dass der Inhalt des Elements die volle Namensbezeichnung dessen enthält, was Gegenstand des Reviews ist. Der Klassenname url
signalisiert, dass es sich um einen Link zu einer produktspezifischen Adresse handelt. An dieser Stelle könnte anstelle des Links auch ein img
-Element notiert werden, also eine Grafik, die das besprochene Produkt abbildet. Dann sollte statt dem Klassenname url
der Klassenname photo
angegeben werden. Die Angabe summary
hat eine ähnliche Funktion wie fn
, nämlich die Auszeichung der Überschrift eines Reviews. In unserem Beispiel sind beide Angaben im gleichen Element notiert. Die Überschrift kann aber selbstverständlich auch separat notiert werden, etwa als <h3 class="summary">Überschrift des Reviews</h3>
.
Wenn statt eines Produkts eine Örtlichkeit, also etwa ein Lokal oder ein Laden besprochen wird, könnte das Element, das mit class="item"
markiert wird, anstelle des Links mit der fn
-Klasse auch ein komplettes hCard-Mikroformat einschließen. Und wenn es sich um eine Konzertkritik handelt, könnte der Inhalt ein komplettes hCalendar-Konstrukt sein, das die Konzerteckdaten enthält. Falls darin ein Veranstaltungsort vorkommt, kann dieser wiederum als hCard-Format innerhalb des hCalendar-Formats ausgearbeitet werden. Sie sehen schon — Mikroformate sind im Prinzip relativ einfach zu verstehen, können aber zu ziemlich komplexen HTML-Markup-Strukturen führen.
Der eigentliche Beschreibungstext des Reviews wird in ein Element eingeschlossen, das mit class="description"
ausgezeichnet wird. Wenn es sich um eine längere Beschreibung handelt, die aus mehreren Absätzen und vielleicht auch anderen Elementen wie Grafiken besteht, ist das div
-Element, wie es auch in unserem Beispiel verwendet wird, eine semantisch sinnvolle Wahl.
Bewertungen enthalten häufig auch Noten. Zum Standard des hReview-Formats gehört erfreulicherweise auch ein einheitliches numerisches Bewertungsschema. Dabei sind Punktevergaben von 1.0 (unterirdisch) bis 5.0 (überragend) möglich. Wenn die ganzzahlige Punkteskala also zu grob ist, können Sie auch Werte wie 3.4 oder 1.8 vergeben (Dezimalzeichen ist dabei der Punkt!). Andere Bewertungsschemata sind zwar laut Spezifikation ebenfalls erlaubt, doch es wäre schön, wenn endlich mal alle numerischen Bewertungen einem einheitlichen Schema folgen. Deshalb sei das genannte Schema empfohlen.
Die Bewertung selbst wird durch class="rating"
markiert. Die numerische Angabe wird im gleichen Element-Tag im Attribut title=
notiert. Wenn der Elementinhalt aus einer abstrakten Darstellung der Benotung besteht (wie in unserem Beispiel durch die Sternchen), oder wenn der Elementinhalt einfach die title
-Angabe wiederholt, wird empfohlen, das abbr
-Element zu verwenden (so wie in unserem Beispiel).
Den Abschluss eines Reviews bildet die Angabe, von wem das Review stammt. Angaben dazu werden in ein Element eingeschlossen, das mit dem Attribut class="reviewer"
ausgezeichnet wird. Es ist nicht zwingend erforderlich, ein solches Element zu notieren. Wenn Sie es jedoch notieren, müssen Sie außerdem ein hCard-Mikroformat angeben, das den Review-Autor oder die verantwortliche Redaktion kennzeichnet. In unserem Beispiel haben wir beides vereint durch die Angabe class="reviewer vcard"
. Die einzige hCard-spezifische Angabe innerhalb des so ausgezeichneten p
-Elements im Beispiel ist jedoch die Klassenangabe fn im Link zu MedienCity. Um die Anwendung der Mikroformate konsequent zu betreiben, wäre es durchaus sinnvoll, an dieser Stelle auch weitere Angaben wie Kontaktadresse, Telefonnummer usw. entsprechend der Regeln des hCard-Formats anzugeben.
Ein typischer Elementinhalt des Elements mit der Auszeichnung class="reviewer"
ist ein Element, das den Zeitpunkt der Bewertung angibt. Ein solches Element wird durch das Attribut class="dtreviewed"
gekennzeichnet. Im gleichen Tag wird ein title
-Attribut notiert, das den Zeitpunkt des Reviews angibt. Dabei gelten die gleichen Notationsregeln wie im hCalendar-Format bei Elementen mit class="dtstart"
oder class="dtend"
. Da der zugehörige Elementinhalt in aller Regel die entsprechende menschenlesbare Datums-/Zeitangabe ist, wird empfohlen, für die gesamte Angabe das abbr
-Element zu verwenden.